查看原文
其他

自动化睡眠分期工具:开源、免费、高效

周翊 茗创科技 2021-11-10
有态度 有深度 有温度你的科研小伙伴

注:需要原文资料的小伙伴,可以添加茗创科技周翊工程师的微信号MCKJ-zhouyi或致电17373158786。另外,茗创科技创建了文献互助群,为大家提供免费帮忙下载文献服务、技术咨询、前沿研究和电子书等海量学术资源分享。(详见文末)

近年来,临床和社会对人类睡眠的测量呈指数级增长。然而,与其他高度自动化的医学分析领域不同,基础和临床睡眠研究仍然依赖于人的目测评分。这种以人为基础的评估既耗时又乏味,而且容易产生主观偏差。在这里,研究者描述了一种新的算法,通过对世界各地不同人群中超30000个小时的多导睡眠记录数据进行训练和验证。该工具进行睡眠分期的准确性高,而且使用起来也特别容易,计算简便,开源和免费。研究者希望该软件能够促进行业标准自动化睡眠分期软件包的广泛使用。


前  言

睡眠对人类健康至关重要。充足的睡眠支持机体的各种生理功能,包括免疫、代谢和心血管系统。对于大脑来说,充足的睡眠有助于优化学习、记忆、注意力、情绪和决策过程。因此,改善睡眠健康已成为一种预防策略,以降低心血管和代谢等疾病的风险。
多导睡眠图(PSG)同时测量脑电波、眼球运动、肌肉活动、心率和呼吸,是对人类睡眠进行客观生理学量化的黄金标准。夜间睡眠阶段的分类提供了夜间睡眠的总体结构信息,以及睡眠阶段的持续时间和所占比例,这些都为睡眠障碍和特定疾病的诊断提供了信息。目前,这种睡眠评分通常是由人来完成的,首先是将PSG记录的夜晚分成30秒的片段(称为epoch)。然后,根据美国睡眠医学会(AASM)定义的标准,将每个epoch分配到一个睡眠阶段。这种评分方法的评分者间一致性低于理想水平(约83%的一致性)。此外,得分相同的人通常在同一睡眠记录中的内部一致性也较低(约90%)。也就是说,不同睡眠评分专家看到相同的记录后,可能会得出不同的睡眠阶段评估结果,甚至是同一个专家在两个不同的时间点看到相同的记录后,也会得出不同的结果。
机器学习的进步促使人们尝试使用自动化系统对睡眠进行分类。近年来出现了几种这样的自动睡眠分期算法。Sun等人(2017)报告了一种算法,该算法根据来自一个单次睡眠诊所的2000份PSG记录进行训练和评估。测试集的总Cohen’s kappa系数为0.68 (n = 1000个晚上的PSG)。此后,Patanaik等人(2018)发表了名为‘Z3Score’的算法,对来自4个数据集的约1700个PSG记录进行了训练和评估。总体准确性从(健康成人/青少年的)89.8%到(帕金森病患者的)72.1%不等。Stephansen等人(2018)的‘Stanford-stage’算法对10个临床组(约3000个记录)进行了训练和评估,与人类睡眠阶段的一致性评分相比,其准确率为87%。一年后,Phan等人‘SeqSleepNet’算法,该算法通过对200个晚上的PSG数据进行20折交叉验证来训练和测试,总体准确率为87.1%。最近,Perslev等人(2021)的‘U-Sleep’算法是利用来自16项临床研究的15660名参与者的PSG记录建立的。

尽管自动化工具的数量越来越多,但准确的自动化睡眠分期还没有成为该领域的实际标准。这可能有几个方面的原因。首先,有些算法并不是免费的,需要付费使用或者不可公开。其次,尽管有一些免费的算法,但却需要付费软件才能运行,比如MATLAB。第三,一些算法是在小样本规模的情况下进行训练的,或者是在单一睡眠中心或人群的数据下进行训练的。因此,存在外部效度问题。第四,对于大多数个体来说,设置和运行这些算法往往过于复杂,因为它们需要中等水平至高水平的编程经验,造成了广泛采用和使用的准入障碍。在这里,研究者提供了一个免费、灵活、易于使用的自动化睡眠分期软件,该软件通过对来自不同年龄、种族和健康状况的大量独立和异构数据集(超30000小时的PSG分期睡眠)进行了训练和评估。


材料和方法

关于数据集:该算法在NSRR (https:// sleepdata.org/)的大规模数据集上进行训练,这个网站是由国家心肺血液研究所(NHLBI)资助的门户网站。该数据库提供了对研究队列和临床实验中收集的大量确定的生理信号和临床数据的访问。此外,也使用了以下数据集。

  • MESA是一项多中心纵向调查,调查对象为6814名黑人、白人、西班牙裔和华裔美国男性和女性,年龄为45岁至84岁,(与亚临床心血管疾病发展和亚临床至临床心血管疾病相关因素)。
  • CFS是一项基于家庭的睡眠呼吸暂停研究,包括来自361个家庭的2284名个体,在16年的时间里被研究了4次。
  • CCSHS是一项基于儿科群体的研究,具有客观的睡眠评估,其特点是有大量少数民族代表。
  • SHHS是一项多中心队列研究,以确定睡眠呼吸障碍的心血管和其他症状。
  • MrOS是一项对5994名男性进行的多中心观察性研究,其中睡眠研究是一项后续辅助研究。收集了2907名参与者(年龄范围为65岁至89岁)的夜间多导睡眠监测记录。
  • CHAT是一项多中心、单盲、随机对照试验,旨在测试7个月的观察期后,年龄为5至9.9岁的轻度至中度阻塞性睡眠呼吸暂停(OSA)儿童随机接受早期腺扁桃体切除术是否会表现出更高水平的神经认知功能。收集了1447名参与者的数据,其中464人随机接受治疗。
  • HomePAP是一项多位点、随机对照试验,参与者为373名患者(年龄范围为20至80岁)。
每个数据集被随机分成训练组(多达600个晚上)和测试组(多达100个晚上)。纳入训练集的PSG用于模型构建和训练,纳入测试集的PSG用于性能评估。训练集和测试集是完全分离的(即没有重叠)。为了在全新数据集上对模型进行公正评估,研究者进一步测试了DOD算法,DOD是一个公开可用的数据集,包括健康个体(DOD- healthy)和OSA患者(DOD- obstructive)。
  • DOD-Healthy由法国陆军生物医学研究所招募的25名健康志愿者组成。参与者年龄在18至65岁之间,没有睡眠问题,招募时不分性别和种族。
  • DOD-Obstructive包括55例临床疑患睡眠相关呼吸障碍的患者。在美国斯坦福睡眠医学中心进行PSG记录。临床诊断为OSA以外的睡眠障碍患者、患有病态肥胖症、服用睡眠药物或患有某些心肺或神经系统并发症的患者被排除在研究之外。

结  果

训练集包括超31000个小时的PSG数据,来自7个不同的数据集(CCSHS,n=414;CFS,n=586;CHAT,n=351;HomePAP,n=82;MESA,n=575;MrOS,n=565;SHHS,n=590)。所有这些数据集都可以在国家睡眠研究资源(NSRR)网站(http://sleepdata.org)上公开获得。训练集的人口统计和健康数据如表1所示。平均呼吸暂停低通气指数或称呼吸紊乱指数(AHI)为(12.9±16.35)。有29%的夜晚AHI为15(=中度睡眠呼吸暂停)。MESA数据集平均AHI最高(19.2±18.1),CCSHS数据集最低(1.5±5.2)。

表1.训练集和测试集的人口特征统计
测试集1包括来自6个不同数据集(CCSHS,n=100;CFS,n=99;CHAT,n=100;MESA,n=97;MrOS,n=90;SHHS,n=99)。在性别比例、种族分布或被诊断为失眠、抑郁或糖尿病的个体比例方面没有显著差异。此外,AHI和最轻、轻度、中度或重度睡眠呼吸暂停的个体比例没有差异。测试集2包括来自公开可用的Dreem Open Dataset (DOD)数据集的80个PSG记录。


验证结果

测试集1NSRR

算法在测试集1上的总体性能如图1A所示。在所有585个测试夜中计算的中位数准确率为87.46%。中位数Cohens kappa系数为0.819,一致性非常好,中位数Matthews相关系数为0.821。CCSHS数据库测试集的总体准确率最高(中位数= 90.44%),MESA数据库的准确率最低(中位数= 83.99%)。除了传统的睡眠阶段,该算法还能够量化每个睡眠阶段在每30秒epoch的概率,然后利用该概率得出每个epoch的置信度。该算法在所有测试夜晚的中位数置信度为85.79%。具有较高平均置信度的夜晚具有明显较高的准确性(图1B,r=0.76,p<0.001)。
接下来,研究者测试了各个睡眠阶段的分类性能(图1C)。N3睡眠的总体灵敏度为83.2%。快速眼动睡眠(REM)、N2睡眠和清醒状态的灵敏度均高于85%。N1睡眠的总体灵敏度为45.4%。重要的是,该算法几乎没有明显的错误,比如将N3睡眠错误地标记为快速眼动睡眠(0.2%)或将快速眼动睡眠错误地标记为N3睡眠(0.03%)。此外,该算法容易在睡眠阶段的转换时期出现不准确的情况(图2F)。该算法在被评分者评估为清醒时间段的置信度最高(所有时间段的平均置信度=92.7%),在被评分为N1睡眠时间段的置信度最低(平均=63.2%)。研究者进一步测试了该算法对一个或多个睡眠阶段的系统性偏差。每个睡眠阶段的比例在人为和自动分期之间是类似的(所有Cohen’d<0.11;如图1D所示)。

图1.算法在测试集上的性能。


 

图2.A)年龄,B)身体质量指数(BMI),C)性别,D)种族,E)呼吸紊乱指数(AHI) 和F)睡眠转换阶段的测试准确性

 

测试集2:DOD-Healthy和DOD-Obstructive数据集的一致性评分

研究者检查了YASA在测试集2上的表现,这是一个健康和睡眠呼吸紊乱患者的数据集,由五位注册专家进行评分。在健康成人中,YASA相对于五位专家的一致性评分的中位数准确率为86.6%。所有夜晚的kappa系数中值为80.1%,这说明高度一致。然后,研究者将YASA的性能与五位评分者以及最近发布的两种睡眠分期算法进行了比较。如表2所示,YASA列是根据五位专家的一致性评分显示了当前算法的性能。Stephansen等人(2018)和Perslev等人(2021)这两列显示了最近基于深度学习的睡眠分期算法的性能。H1-H5列显示了五位评分者的评分情况。*表示与YASA有显著差异。

表2.在DOD-Healthy数据集上,YASA与最近发布的两种睡眠分期算法以及五位评分者的一致性评分的比较。

 

表3报告了在DOD-Obstructive数据集上,YASA与Stephansen等人(2018)和Perslev等人(2021)的算法,以及五位评分者之间的比较。评分者2的准确率较低(p=0.004),而Perslev算法的准确率较高(p=0.009)。两两比较显示,YASA优于Stephansen等人(2018)的算法然而,Perslev等人(2021)的算法在N1、REM和觉醒状态方面的得分显著高于YASA(所有p’<0.011)。

表3.在DOD-Obstructive数据集上,YASA与最近发布的两种睡眠分期算法以及五位评分者的一致性评分的比较。

 

软件操作

本研究中的算法及其操作是完全开源且免费的。本研究中的睡眠算法,俗称YASA(https://github.com/raphaelvallat/yasa),是用Python编写的一个涵盖范围更广泛的睡眠分析包。除了这里描述的自动睡眠分期,YASA还包括几个额外的功能,如自动检测睡眠纺锤波和慢波,自动伪影剔除,频谱功率估计(如图3B),以及相位振幅耦合基本睡眠分期板块的使用并不完全取决于对这些度量的量化,如果用户需要的话,它们是作为附加工具提供的软件安装包。YASA附带了大量的文档,并且是在BSD-3条款许可下发布的,这也是开源计划的一部分,可以直接从Python包索引存储库中使用一行简单的代码进行安装操作。

图3.示例数据:单被试的睡眠阶段预测图。


讨  论

研究者试图开发一个睡眠分期算法,同时具有能够(1)匹配人工评分的准确性,(2)一直在训练一个大型和异构数据集,(3)易于大多数人操作,(4)计算要求低,可以在自己笔记本上运行,(5)而且是完全免费的,因此很适用于研究人员,临床医生和商业企业进行使用。

该算法具有高水平的准确性,而且评分者间的一致性相匹配此外,与两种最近的深度学习算法[Stephansen等人(2018)和Perslev等人(2021)]对健康成年人评估的准确性相比,YASA算法的准确性与这两者不相上下(即没有统计学差异)。然而,YASA在OSA患者中的表现比Perslev等人(2021)算法差了2.4%。对于个体睡眠阶段,该算法对N2期、N3期、REM期和清醒期的分类表现良好,对N1期的分类一致性较好。该算法成功地保留了整晚睡眠阶段的总体分布,因此它不会高估或低估某个特定的睡眠阶段。除了基本的睡眠阶段分类外,该算法的一个优势是能够为每个个体的每个睡眠阶段epoch提供概率值,这些概率报告了用户算法的置信度。

 

原文:An open-source, high-performance tool for automated sleep staging.
DOI: https://doi.org/10.7554/eLife.70092

 

公众号后台回复“自动化睡眠分期工具包”或“YASA”可直接获取本文中的自动化睡眠分期工具包!

 

更多精彩课程推荐

第二届任务态磁共振数据处理学习班(线上:2021.11.15~11.28)

第二届近红外脑功能数据处理学习班(线上:2021.11.1~11.14)

茗创科技脑电机器学习班(线上:2021.11.16~11.30)

脑电基础原理与科研绘图(线上:2021.10.24)

扫二维码|获取更多资源




MC_Brain


茗创科技工作室

觉得有帮助,欢迎转发收藏或者点个在看哦~

听说点在看的人SCI接收率都提升了18%呢!

视频 小程序 ,轻点两下取消赞 在看 ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存